Moving-image distributing apparatus, moving-image distributing system, and computer product

ABSTRACT

A moving-image-data acquiring unit acquires, when a failure occurs in other moving-image distributing apparatus, a plurality of moving-image data transmitted from a part of the encoders to the other moving-image distributing apparatus. An imaging-target-information acquiring unit acquires location information of an imaging target from a management server that manages the location information of the imaging target. An encoder selecting unit selects the encoder to take charge in place of the other moving-image distributing apparatus, based on encoder location information included in the moving-image data and the location information of the imaging target.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technology for receiving moving-imagedata, which is an encoded moving image, from a part of a plurality ofencoders that encodes captured moving images and distributing thereceived moving-image data to a client terminal.

2. Description of the Related Art

In a conventional moving-image distributing system, a moving-imageserver receives image data of MPEG4 (Moving Picture Expert Group 4) sentfrom an encoder, and distributes the received image data to apredetermined client terminal in a streaming form.

In this moving-image distributing system, degeneration is executed whena moving-image server has a failure. In the degeneration, a plurality ofnormal moving-image servers other than a failed moving-image serverwhere a failure has occurred operates for the failed moving-imageserver.

A management server that manages individual moving-image servers presetspresence/absence of storage setting, priority levels, and encoder IDs toindividual encoders. There are three priority levels of high, medium,and low.

The management server allocates the priority according to thepresence/absence of storage setting, and the ascending order of thepriority levels, and IDs of encoders of which the failed moving-imageserver has been in charge, and assigns encoders to normal moving-imageservers in the priority from a higher one. The management serverforcibly stops operations of an encoder that cannot be handled by anormal moving-image server.

In a distributed processing system disclosed in Japanese PatentApplication Laid-open No. H6-214962, a management node that manages anetwork prepares a plurality of combinations of operations andprocessing nodes which process the operations beforehand. When a failureoccurs in a predetermined processing node, the management node selects apredetermined combination to back up operations of the failed processingnode, and sends the selected combination to individual processing nodes,which back up the operations of the failed processing node based on thereceived combination.

However, because the priority is fixed, the conventional moving-imagedistributing system has a problem that the priority of the encoderscannot be changed dynamically.

For example, when a disaster or the like occurs at a location, and afire department or the like wishes to know the situation of thedisaster, an encoder that is closest to the location where the disasterhas occurred and receives images of the disaster becomes important,however, the priority previously set to the encoder can be low.

That is, when an abnormality occurs in a moving-image server in chargeof an encoder closest to the location where a disaster or the like hasoccurred, the operations of the encoder may not be assigned to a normalmoving-image server and the operations may be forcibly stopped due tothe low priority of the encoder.

Even when the management node allows a normal processing node to back upthe operation of a failed processing node as disclosed in JapanesePatent Application Laid-open No. H6-214962, a combination of processingnodes and operations prepared beforehand is used, so that it is notpossible to handle situations surrounding operations that always change.

It is therefore a very important issue to dynamically change thepriority of each encoder according to the situations surrounding theencoder that changes sequentially.

SUMMARY OF THE INVENTION

It is an object of the present invention to at least solve the problemsin the conventional technology.

An apparatus according to one aspect of the present invention is forreceiving moving-image data from a part of a plurality of encoders thatencodes captured moving image, and distributing the receivedmoving-image data to a client terminal. The apparatus includes amoving-image-data acquiring unit that acquires, when a failure occurs inother moving-image distributing apparatus, a plurality of moving-imagedata transmitted from a part of the encoders to the other moving-imagedistributing apparatus; an imaging-target-information acquiring unitthat acquires location information of an imaging target from amanagement server that manages the location information of the imagingtarget; and an encoder selecting unit that selects the encoder to takecharge in place of the other moving-image distributing apparatus, basedon encoder location information included in the moving-image data andthe location information of the imaging target.

A moving-image distributing system according to another aspect of thepresent invention includes a plurality of encoders that encodes capturedmoving image to produce moving-image data; and a plurality ofmoving-image distributing apparatuses that distributes the moving-imagedata to a client terminal. The encoder transmits the moving-image datato the moving-image distributing apparatuses, including anencoder-information specifying unit that specifies location informationof the encoder as encoder location information; and anencoder-information adding unit that adds the encoder locationinformation to the moving-image data to be transmitted to themoving-image distributing apparatuses. Each of the moving-imagedistributing apparatuses includes a moving-image-data acquiring unitthat acquires, when a failure occurs in other moving-image distributingapparatus, a plurality of moving-image data transmitted from a part ofthe encoders to the other moving-image distributing apparatus; animaging-target-information acquiring unit that acquires locationinformation of an imaging target from a management server that managesthe location information of the imaging target; and an encoder selectingunit that selects the encoder to take charge in place of the othermoving-image distributing apparatus, based on encoder locationinformation included in the moving-image data and the locationinformation of the imaging target.

A computer-readable recording medium according to still another aspectof the present invention stores a computer program for receivingmoving-image data, which is an encoded moving image, from a part of aplurality of encoders that encodes captured moving image, anddistributing the received moving-image data to a client terminal. Thecomputer program causes a computer to execute a moving-image dataacquisition procedure of acquiring, when a failure occurs in amoving-image distributing apparatus that receives the moving-image datafrom a part of the encoders and distributes the received moving-imagedata to the client terminal, a plurality of moving-image datatransmitted from the part of the encoders to the moving-imagedistributing apparatus; an imaging-target-information acquisitionprocedure of acquiring location information of an imaging target from amanagement server that manages the location information of the imagingtarget; and an encoder selecting procedure of selecting the encoder totake charge in place of the moving-image distributing apparatus, basedon encoder location information included in the moving-image data andthe location information of the imaging target.

The above and other objects, features, advantages and technical andindustrial significance of this invention will be better understood byreading the following detailed description of presently preferredembodiments of the invention, when considered in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a moving-image distributing systemaccording to a first embodiment of the present invention;

FIG. 2 is a schematic for illustrating a data configuration of streamdata according to the first embodiment;

FIG. 3 is an example of XML data describing location information of anencoder and information on a direction of a camera, created by anXML-data creating unit;

FIG. 4 is a flowchart of a processing procedure in which an encoderacquires location information and information on a camera direction, andcreates XML data based on the acquired information;

FIG. 5 is a flowchart of a processing procedure in which an encodercreates stream data and multicasts the created stream data;

FIG. 6 is a flowchart of a processing procedure in which adisaster-information notification server detects a disaster, andtransmits a detected disaster location to a moving-image server;

FIG. 7 is a flowchart of a processing procedure in which, when a failureoccurs in a moving-image server 2 or a moving-image server 3, amoving-image server 1 determines a priority of encoders that areassigned to the failed moving-image server, and selects encoders thatwill take charge instead;

FIG. 8 is a block diagram of a moving-image distributing systemaccording to a second embodiment of the present invention;

FIG. 9 is a schematic for illustrating an extension header based onMDO6;

FIG. 10 is a flowchart of a processing procedure in which an encodertransmits stream data to a designated moving-image server;

FIG. 11 is a flowchart of a processing procedure in which an encodertransmits XML data including location information to a managementserver;

FIG. 12 is a flowchart of a processing procedure in which encoders thatare currently assigned to a moving-image server, available capacity forstoring image data, and address information of the moving-image serverare transmitted to a management server;

FIG. 13 is a flowchart of a processing procedure in which a managementserver detects a failure in a moving-image server, and gives aninstruction such that an encoder can transmit stream data to a normalmoving-image server;

FIG. 14 is a schematic of a computer system that executes a moving-imagedistributing program according to the first and the second embodiments;and

FIG. 15 is a block diagram of a configuration of a main unit shown inFIG. 14.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Exemplary embodiments of a moving-image distributing apparatus, amoving-image distributing system, and a moving-image distributingprogram according to the present invention will be explained below indetail with reference to the accompanying drawings. Note that theinvention is not limited to the embodiments.

FIG. 1 is a block diagram of a moving-image distributing systemaccording to a first embodiment of the present invention.

In the moving-image distributing system according to the firstembodiement, encoders 10 to 12 receive image data from respectivecameras 13 to 15, and multicast the received image data.

The multicasting is to designate a plurality of destinations andtransmit data thereto, and multicast data is temporarily transmitted toa router 21 from which the data is transmitted to a designated one ofmoving-image servers 1 to 3.

Any of the moving-image servers 1 to 3 that has received the image datafrom the router 21 distributes the received image data to apredetermined client terminal (not shown) in a streaming form.

When a disaster is detected, a disaster-information notification server30 connected to an Internet 40 sends a detected disaster location to themoving-image server 1, which stores the received disaster location.

When a failure occurs in either of the moving-image servers 2 and 3, themoving-image server 1 determines the priority of encoders based oninformation on the encoders of which the failed moving-image server hasbeen in charge, and the disaster location received from thedisaster-information notification server 30.

When the moving-image server 1 cannot take charge of all the encoders ofwhich the failed moving-image server has been in charge, themoving-image server 1 takes charge of encoders that have a high priorityby priority, and sends a stop request to those encoders of which themoving-image server 1 cannot take charge.

Since the encoders 10 to 12 have the same configuration, the encoder 10is explained as an example. The encoder 10 receives image data from thecamera 13 corresponding to the encoder 10, and adds encoder informationrepresenting information on a latitude and a longitude corresponding tothe present location of the encoder 10, and information on the directionof the camera 13 currently used by the encoder 10 to MPEG data, whenmulticasting the received image data as stream data. Hereinafter,information on the latitude and the longitude corresponding to thepresent location of the encoder, and information on the direction of thecamera currently used by the encoder are generally represented asencoder information.

The encoder 10 includes an input receiving unit 16, alocation-information exchanging unit 17, a control unit 18, a storingunit 19, and a communication unit 20.

The input receiving unit 16 receives image data from the camera 13, andpassed the received image data to the control unit 18. The control unit18 includes an MPEG-data creating unit 18 a, an XML-data creating unit18 b, a location-information processing unit 18 c, and a datatransmitting unit 18 d.

The MPEG-data creating unit 18 a creates MPEG data from image datareceived from the input receiving unit 16. The MPEG-data creating unit18 a acquires XML (extensible Markup Language) data 19 a from thestoring unit 19.

As shown in FIG. 2, the MPEG-data creating unit 18 a adds a UDP (UserDatagram Protocol) header 100, a RTP (Real-time Transport Protocol)header 101, and acquired XML data 102 to created MPEG data 103, andpasses the data as stream data to the data transmitting unit 18 d.

The XML-data creating unit 18 b creates XML data including locationinformation based on encoder information from the encoder 10 that isspecified by the location-information processing unit 18 c.

FIG. 3 is an example of XML data describing location information of anencoder and information on a direction of a camera, created by theXML-data creating unit 18 b. In FIG. 3, “longitude=“135.75”” representsthe longitude of the encoder, “latitude=“35.5”” represents the latitudeof the encoder, “altitude=“100”” represents the direction of the cameraused by the encoder.

While FIG. 3 depicts a case of a fixed camera where a direction of acamera to be used is fixed, the moving range with respect to thedirection of the camera is described in case of a movable camera wherethe direction of the camera moves.

The XML-data creating unit 18 b then stores the created XML data as theXML data 19 a in the storing unit 19.

The location-information processing unit 18 c communicates with a basestation using the location-information exchanging unit 17, and specifiesthe latitude and the longitude corresponding to the present location ofthe encoder 10. The location-information processing unit 18 c receivesinformation on the direction of the camera 13 from the camera 13.

The location-information processing unit 18 c passes the locationinformation of the encoder 10 and the information on the direction ofthe camera to the XML-data creating unit 18 b.

The data transmitting unit 18 d multicasts stream data, received fromthe MPEG-data creating unit 18 a, via the communication unit 20. Whenreceiving a stop request from the moving-image server 1 via thecommunication unit 20, the data transmitting unit 18 d stops the encoder10.

When the moving-image servers 1 to 3 receive stream data from encoderstaken charge thereby, the moving-image servers 1 to 3 distribute thestream data to a predetermined client terminal in a streaming form.

When a failure occurs in the moving-image server 2 or 3, themoving-image server 1 takes charge of the encoders of which the failedmoving-image server has been in charge.

However, there can be a case that the moving-image server 1 cannot takecharge of all the encoders of which the failed moving-image server hasbeen in charge.

Therefore, the moving-image server 1 sets the priority to encoders inorder from the one closest to a disaster location based on locationinformation of the encoders 10 to 12 and the disaster location sent fromthe disaster-information notification server 30. Based on the setpriority, the moving-image server 1 sequentially selects encoders to betaken charge in place of the failed moving-image server.

When there is a plurality of encoders having the distance from thedisaster location, the priority is set in further consideration of thedirections of the cameras that are used by the encoders. Specifically,the encoder whose camera is directed toward the disaster location isprioritized.

The moving-image server 1 includes a communication unit 4, a controlunit 5, and a storing unit 9. The control unit 5 includes a degenerationprocessing unit 6, a management server unit 7, and a data exchangingunit 8.

When a failure occurs in the moving-image server 2 or 3, thedegeneration processing unit 6 sets the priority of the encoders ofwhich the failed moving-image server has been in charge, and selectsthose encoders that will be taken charge in place thereof. Thedegeneration processing unit 6 has a failure sensor 6 a, a take-overrequesting unit 6 b, and an encoder selecting unit 6 c.

When a failure occurs in the moving-image server 2 or 3, the failuresensor 6 a detects the failure, and specifies the failed moving-imageserver.

When the failure sensor 6 a detects the failure, the take-overrequesting unit 6 b sends a take-over request to the router 21 toacquire streaming data to be multicast from the encoders of which thefailed moving-image server has been in charge, based on managementinformation 9 b stored in the storing unit 9.

The encoder selecting unit 6 c selects an encoder to be taken charge inplace of the failed moving-image server, based on location informationattached to stream data that is sent from the encoders of which thefailed moving-image server has been in charge, and disaster locationdata 9 c stored in the storing unit 9. The encoder selecting unit 6 cselects the encoders in order from the one closest to the disasterlocation.

When there is a plurality of encoders having the same distance from thedisaster location, the encoder whose camera is directed toward thedisaster location is prioritized.

The management server unit 7 regularly communicates with themoving-image servers 2 and 3, and specifies the encoders of which themoving-image servers 2 and 3 take charge, and client terminals that aretargets for streaming distribution. The management server unit 7 storesinformation on information of the encoders of which the moving-imageservers take charge, and information on the client terminals in thestoring unit 9 as the management information 9 b.

The management server unit 7 receives information on the disasterlocation from the disaster-information notification server 30, andstores the received information on the disaster location in the storingunit 9 as the disaster location data 9 c.

The data exchanging unit 8 receives stream data multicast from anencoder, temporarily stores the received stream data in the storing unit9 as stream data 9 a, and distributes the stored stream data 9 a to apredetermined client terminal in a streaming form.

FIG. 4 is a flowchart of a processing procedure in which the encoder 10acquires location information and information on a camera direction, andcreates XML data based on the acquired information. This process isrepeatedly executed while the encoder 10 is in operation. As shown inFIG. 4, the location-information processing unit 18 c transmits a signalto a nearby base station using the location-information exchanging unit17 (step S101), and receives a response signal from the base stationusing the location-information exchanging unit 17 (step S102).

The location-information processing unit 18 c specifies the latitude andthe longitude of the encoder 10 based on the received response signal(step S103). The location-information processing unit 18 c receivescamera information representing the direction of the camera from thecamera 13 (step S104). The location-information processing unit 18 cpasses the latitude and the longitude of the encoder 10, and thedirection of the camera 13 to the XML-data creating unit 18 b as encoderinformation (step S105). The XML-data creating unit 18 b creates XMLdata based on the received encoder information (step S106), and storesthe created XML data in the storing unit 19 as the XML data 19 a (stepS107).

FIG. 5 is a flowchart of a processing procedure in which an encodercreates stream data and multicasts the created stream data.

As shown in FIG. 5, the input receiving unit 16 receives image data fromthe camera 13 (step S201), and passes the received image data to theMPEG-data creating unit 18 a (step S202). The MPEG-data creating unit 18a acquires the XML data 19 a stored in the storing unit 19 (step S203),and creates MPEG data based on the image data (step S204).

The MPEG-data creating unit 18 a creates stream data that is MPEG dataattached with a UDP header and a RTP header (step S205), and passes thecreated stream data to the data transmitting unit 18 d (step S206), andthe data transmitting unit 18 d multicasts the stream data via thecommunication unit 20 (step S207).

In the encoder 10, in this manner, the location-information processingunit 18 c acquires location information on the encoder beforehand, theMPEG-data creating unit 18 a creates MPEG data from image data sent fromthe camera 13, and creates stream data that is the created MPEG dataattached with the location information of encoder, and the datatransmitting unit 18 d multicasts the stream data via the communicationunit 20.

FIG. 6 is a flowchart of a processing procedure in which thedisaster-information notification server 30 detects a disaster, andtransmits a detected disaster location to a moving-image server. Theprocess of the flowchart of FIG. 6 is repeatedly executed every time thedisaster-information notification server 30 detects a disaster.

As shown in FIG. 6, when a disaster occurs at a location, thedisaster-information notification server 30 detects the disaster (stepS301), and specifies the location where the disaster has occurred (stepS302).

The disaster-information notification server 30 transmits the specifieddisaster location to the management server unit 7 of the moving-imageserver 1 (step S303), and the management server unit 7 receives thedisaster location (step S), and stores the received disaster location inthe storing unit 9 as the disaster location data 9 c (step S305).

FIG. 7 is a flowchart of a processing procedure in which, when a failureoccurs in the moving-image server 2 or the moving-image server 3, themoving-image server 1 determines a priority of encoders that areassigned to the failed moving-image server, and selects encoders thatwill take charge instead.

As shown in FIG. 7, the failure sensor 6 a detects a failure, andspecifies that moving-image server where the failure has occurred (stepS401), and the take-over requesting unit 6 b specifies a plurality ofencoders of which the failed moving-image server takes charge, based onthe server whose failure is detected, and the management information 9 b(step S402).

The take-over requesting unit 6 b transmits a take-over request to therouter 21 to receive stream data from the specified encoders (stepS403), and the encoder selecting unit 6 c receives plural pieces ofstream data from the router 21 (step S404).

The encoder selecting unit 6 c determines the priority of the encodersin order from the one closest to the disaster location based on thelocation information in the XML data included in the stream data, andthe disaster location data 15 c (step S405). When there is a pluralityof encoders having the same distance from the disaster location, theencoder for which the direction to the occurrence of a disaster iscloser to the direction of the camera included in encoder information isprioritized.

The encoder selecting unit 6 c selects one of the encoders in thepriority from a higher one (step S406), and checks if there is aremaining storage space (step S408).

The remaining storage space is an amount remained where stream datatransmitted from an encoder can be stored as the stream data 9 a.

When there is no remaining storage space in the storing unit 9 (stepS408, No), the encoder selecting unit 6 c sends a stop request to theencoder that cannot be taken charge (step S407).

On the other hand, when there is a remaining storage space in thestoring unit 9 (step S408, Yes), stream data is distributed to a clientterminal corresponding to the selected encoder in a streaming form (stepS409).

It is checked whether all the encoders are selected (step S410). Whenall the encoders are not selected (step (step S410, No), the processmoves to step S406. On the other hand, when all the encoders areselected (step S410, Yes), the process is terminated.

As described above, in the streaming distribution system according tothe first embodiment, the MPEG-data creating unit 18 a converts imagedata received from a camera to MPEG data, and creates stream data havinglocation information attached to the converted MPEG data, and the datatransmitting unit 18 d multicasts the stream data.

When a failure occurs in the moving-image server 2 or 3, in themoving-image server 1, the failure sensor 6 a detects the failure, thetake-over requesting unit 6 b sends a take-over request to the router21, and the encoder selecting unit 6 c receives stream data sent fromthe encoders of which the failed moving-image server has been in charge.

Based on the location information included in the received stream data,and the disaster location data 15 c, the encoder selecting unit 6 cselects encoders to be taken charge, such that an encoder close to adisaster location is prioritized.

Accordingly, it is possible to dynamically change the priority ofencoders to be taken charge in place of the failed moving-image server,according to a disaster location or the like that changes sequentially.

According to the first embodiment, the moving-image server 1 manages themoving-image server 2 or 3, and when a failure occurs in themoving-image server 2 or 3, the moving-image server 1 takes charge ofthe encoders of which the failed moving-image server has been in charge.However, the moving-image server 2 or 3 can likewise manage eachmoving-image server, and can take charge of the encoders of which thefailed moving-image server has been in charge.

According to the first embodiment, the encoders are fixed but are notlimited thereto. This system can be configured such that image data canbe received and transmitted to a predetermined moving-image server usinga mobile terminal, such as a cell phone with a camera.

Second Embodiment

FIG. 8 is a block diagram of the moving-image distributing systemaccording to a second embodiment of the present invention.

As shown in FIG. 8, in the moving-image distributing system according tothe second embodiment, encoders 50, 80, 81 receive image data fromrespective cameras 13 to 15, and transmit the received image data to adesignated one of moving-image servers 70 to 72. The moving-image serverthat has received the image data distributes the received image data toa predetermined client terminal in a streaming form.

At the time, the encoders 50, 80, 81 designates a moving-image server asa destination, based on MDO6 (Multiple Destination Option on IPv6), andsends the data.

According to the MDO6, as shown in FIG. 9, a destination address isexplicitly stored as an extension header of IPv6. As shown in FIG. 9,the extension header includes an IPV6 (Internet Protocol version 6)header 110, a Hop-by-Hop header 111, a Routing header 112, a Destinationheader 113, and a UDP (User Datagram Protocol) header 114, andparticularly, addresses for a plurality of moving-image servers as thetransmission destinations are designated in the Destination header 113according to the MDO6.

At the time of sending image data, the encoders 50, 80, 81 convert theimage data to MPEG data, add the basic header of the IPV6 and anextension header based on the MDO6 to the converted MPEG data, and sendthe data to a router 80.

The router 80 sends the received data to a predetermined moving-imageserver designated by the extension header.

When a failure occurs in any one of the moving-image servers 70 to 72, amanagement server 60 selects a normal moving-image server that takesplace of the failed moving-image server.

The management server 60 selects the moving-image server 71 when afailure occurs in the moving-image server 70, selects the moving-imageserver 72 when a failure occurs in the moving-image server 71, andselects the moving-image server 70 when a failure occurs in themoving-image server 72.

The management server 60 determines the priority of a plurality ofencoders that send image data to the failed moving-image server, and theencoders send the address information of the moving-image server thattakes in charge from an encoder having a higher priority.

For a moving-image server whose available capacity exceeds the availablecapacity of a normal moving-image server for image data and which cannottake charge of encoders, the management server 60 sends a stop requestto the encoders of which cannot be taken charge.

The management server 60 determines the priority of encoders, based oninformation on the disaster location sent from the disaster-informationnotification server 30, and location information of the encoders sentfrom the encoders 50, 80, 81.

Since the encoders 50, 80, 81 have the same configuration, the encoder50 is explained as an example. The encoder 50 receives image data fromthe camera 13, and creates MPEG data based on the received image data.

To send the created MPEG data to a plurality of designated moving-imageservers, the encoder 50 adds the extension header designating theaddresses of the moving-image servers, and the basic header of the IPv6to the MPEG data based on the MDO6, and sends the data as stream data tothe router 80. The sent data is transmitted to the designatedmoving-image servers from the router 80.

The encoder 50 specifies location information or the like of the encoder50, creates XML data based on the specified information, and sends thecreated XML data to the management server 60.

The encoder 50 includes a control unit 51 and a storing unit 52. Sinceother configurations and operations are the same as those of the encoder10 according to the first embodiment, like reference numerals aredesignated to like constituent elements, to omit the explanation.

The control unit 51 includes an MPEG-data creating unit 51 a, anXML-data creating unit 51 b, a location-information processing unit 51c, and a data exchanging unit 51 d.

The MPEG-data creating unit 51 a receives image data from the inputreceiving unit 16, and creates MPEG data from the received image data.The MPEG-data creating unit 51 a creates an extension header designatinga plurality of addresses based on transmission destination information52 b and the MDO6. The transmission destination information 52 brepresents addresses of a plurality of moving-image servers that aretransmitted by the encoder 50.

The MPEG-data creating unit 51 a attaches the basic header of the IPv6and the extension header to the MPEG data, and passes the data as streamdata to the data exchanging unit 51 d.

The XML-data creating unit 51 b creates XML data based on locationinformation of the encoder received from the location-informationprocessing unit 51 c, and stores the created XML data as XML data 52 ain the storing unit 52.

The location-information processing unit 51 c communicates with a basestation using the location-information exchanging unit 17, and specifiesthe latitude and the longitude of the present location of the encoder50. The location-information processing unit 51 c receives camerainformation representing the direction of the camera 13 from the camera13. The location-information processing unit 51 c passes the informationon the latitude and the longitude of the specified present location, andinformation on the direction of the camera 13 to the XML-data creatingunit 51 b as encoder information.

The data exchanging unit 51 d transmits the stream data received fromthe MPEG-data creating unit 51 a to the designated moving-image serversvia the communication unit 20. The data exchanging unit 51 d regularlytransmits the XML data 52 a to the management server 60.

When a failure occurs in the moving-image server to which image data isto be transmitted, the data exchanging unit 51 d receives addressinformation of a normal moving-image server that operates for the failedmoving-image server from the management server 60, and corrects thetransmission destination information 52 b based on the received addressinformation.

If the data exchanging unit 51 d receives a stop request from themanagement server 60 when a failure occurs in the moving-image server towhich image data is to be transmitted, the data exchanging unit 51 dstops the encoder 50.

When a failure occurs in the moving-image servers 70 to 72, themanagement server 60 selects a normal moving-image server that takescharge of the encoders of which the failed moving-image server has beenin charge. The management server 60 transmits address information of thenewly selected moving-image server to the encoders that transmit streamdata to the failed moving-image server.

The management server 60 regularly receives XML data from the encoders50, 80, 81, and stores the received XML data in association with theencoders. The XML data includes encoder location information of theencoders 50, 80, 81.

The management server 60 has a communication unit 61, a control unit 62,and a storing unit 63. The communication unit 61 is a network interfacethat performs data communication with the encoders 50, 80, 81, thedisaster-information notification server 30, and the moving-imageservers 70 to 72.

The control unit 62 has a failure sensor 62 a, an encoder selecting unit62 b, and a data exchanging unit 62 c.

The failure sensor 62 a detects a failure occurring in any one of themoving-image servers 70 to 72.

When a failure occurs in any one of the moving-image servers 70 to 72,the encoder selecting unit 62 b first specifies the encoder that istransmitting stream data to the failed moving-image server based onmanagement information 63 c.

Based on the location information of the specified encoder and disasterlocation data 63 a received from the disaster-information notificationserver 30, the encoder selecting unit 62 b specifies the priority suchthat an encoder close to the disaster location is prioritized.

When there is a plurality of encoders whose distances to the disasterlocation are equal, the encoder for which the direction to theoccurrence of a disaster from the location of the encoder is closer tothe direction of the camera included in encoder information isprioritized.

The encoder selecting unit 62 b selects an encoder based on thedetermined priority of the encoders and available capacity 63 d of themoving-image server that takes charge. The available capacity 63 drepresents the remaining capacity for stream data that can be stored inthe moving-image server that operates for the failed moving-imageserver.

Therefore, the encoder selecting unit 62 b determines whether thecapacity exceeds the available capacity of a server that takes chargeevery time an encoder is selected, and transmits address information 63e of the moving-image server that takes charge of the selected encoderwhen the capacity does not exceed the available capacity.

On the other hand, when the capacity exceeds the available capacity ofthe moving-image server in charge at the time an encoder is selected, astop request is sent to the remaining encoders that are not selected.

The data exchanging unit 62 c receives disaster location data indicatingthe disaster location transmitted from the disaster-informationnotification server 30, XML data transmitted from the encoders 50, 80,81, information specifying the encoders of which the moving-imageservers 70 to 72 are currently in charge, transmitted from themoving-image servers 70 to 72, information on the capacities of themoving-image servers 70 to 72 that can store image data, and addressinformation of the moving-image servers 70 to 72.

The data exchanging unit 62 c stores the received disaster locationdata, XML data, encoder specifying information, information on availablecapacity, and address information in the storing unit 63 as the disasterlocation data 63 a, XML information 63 b, the management information 63c, the available capacity 63 d and the address information 63 e.

FIG. 10 is a flowchart of a processing procedure in which the encodertransmits stream data to a designated moving-image server.

As shown in FIG. 10, the input receiving unit 16 receives image datafrom the camera 13 (step S501), and passes the received image data tothe XML-data creating unit 51 b (step S502).

The MPEG-data creating unit 51 a creates MPEG data from the acquiredimage data (step S503), specifies the addresses of a plurality ofmoving-image servers to which transmission is made, based on thetransmission destination information 52 b (step S504), and creates anextension header designating the addresses of predetermined moving-imageservers from the specified addresses of the moving-image servers (stepS505).

The MPEG-data creating unit 51 a creates stream data that is the createdMPEG data to which the basic header of the IPv6 and the extension headerare attached (step S506), and passes the created stream data to the dataexchanging unit 51 d (step S507), and the data exchanging unit 51 dtransmits the stream data to designated moving-image servers via thecommunication unit 20 (step S508).

In this manner, in the encoder 50, the MPEG-data creating unit 51 acreates MPEG data from image data sent from the camera 13, creates anextension header including a plurality of addresses based on thetransmission destination information 52 b, and transmits stream datathat is the MPEG data to which the basic header of the IPv6 and theextension header are attached to designated moving-image servers.

FIG. 11 is a flowchart of a processing procedure in which the encodertransmits XML data including location information to the managementserver 60.

As shown in FIG. 11, the data exchanging unit 51 d acquires the XML data52 a from the storing unit 52 (step S601), and sends the acquired XMLdata to the data exchanging unit 62 c via the communication unit 20(step S602).

The data exchanging unit 62 c receives the XML data via thecommunication unit 61 (step S603), and corrects the XML information 63 bbased on the received XML data (step S604).

FIG. 12 is a flowchart of a processing procedure in which the encodersthat are currently assigned to the moving-image server, availablecapacity for storing image data, and address information of themoving-image server are transmitted to the management server.

As shown in FIG. 12, the encoders of which the moving-image server 70 iscurrently in charge, the available capacity for storing stream data, andaddress information of the moving-image server 70 are specified asmoving-image server information (step S701), and the specifiedmoving-image server information is sent to the data exchanging unit 62 c(step S702).

The data exchanging unit 62 c receives the moving-image serverinformation via the communication unit 61 (step S703), and storesindividual pieces as the management information 63 c, the availablecapacity 63 d and the address information 63 e in the storing unit 63based on the received moving-image server information (step S704). Themanagement information 63 c indicates the encoders of which themoving-image server is currently in charge, the available capacity 63 drepresents the available capacity for storing stream data of themoving-image server, and the address information 63 e represents theaddress of the moving-image server.

The moving-image servers 71 and 72 likewise transmit moving-image serverinformation to the management server 60. Therefore, the managementinformation 63 c includes information on the encoders of which each ofthe moving-image servers 70 to 72 is in charge, the available capacity63 d includes information on available capacity for storing stream dataof each of the moving-image servers 70 to 72, and the addressinformation 63 e includes the address information of the moving-imageservers 70 to 72.

FIG. 13 is a flowchart of a processing procedure in which the managementserver detects a failure in a moving-image server, and gives aninstruction such that an encoder can transmit stream data to a normalmoving-image server.

As shown in FIG. 13, the failure sensor 62 a detects a failure, andspecifies a moving-image server where the failure has occurred (stepS801). The encoder selecting unit 62 b specifies a plurality of encodersthat are transmitting stream data to the failed moving-image serverbased on the management information 63 c (step S802), and determines thepriority based on location information of a plurality of encodersincluded in the XML information 63 and the disaster location data 63 a,such that an encoder close to the disaster location is prioritized (stepS803).

When there is a plurality of encoders having the same distance from thedisaster location at step S803, the encoder for which the direction to adisaster location is closer to the direction of the camera isprioritized.

The encoder selecting unit 62 b selects one of the encoders in order(step S804), and determines based on the available capacity 63 d whetherthe moving-image server that operates for the failed moving-image serverhas space to store stream data (step S805).

When there is not space to store stream data (step S805, No), theencoder selecting unit 62 b sends a stop request to the encoder thatcannot be assigned to a normal moving-image server (step S806).

On the other hand, when there is space to store stream data (step S805,Yes), the encoder selecting unit 62 b acquires the address of amoving-image server to be a new transmission destination from theaddress information 63 e, sends the acquired address to the selectedencoder (step S807), and checks if all the encoders are selected (stepS808).

When all the encoders are not selected (step S808, No), the processmoves to step S804. When all the encoders are selected (step S808, Yes),the process is terminated.

In the streaming distribution system according to the second embodiment,when a failure occurs in the moving-image servers 70 and 71, the encoderselecting unit 62 b determines the priority of the encoder that istransmitting stream data to the moving-image server where the failureoccurs, based on the disaster location data 63 a and the XML information63 b, sends the address information of normal moving-image servers tothe encoders in order from one having a higher priority, and the encoderthat has received the address information changes the address of themoving-image server to be a transmission destination.

When a failure occurs in a moving-image server, therefore, it ispossible to dynamically change the priority of the encoder thattransmits stream data to the moving-image server where the failureoccurs according to the situation of a disaster or the like whichchanges sequentially, and send optimal stream data to a client terminal.

According to the second embodiment, when a failure occurs in themoving-image server 70, the moving-image server 71 operates instead,when a failure occurs in the moving-image server 71, the moving-imageserver 72 operates instead, and when a failure occurs in themoving-image server 72, the moving-image server 70 operates instead.However, the configuration can be taken such that, for example, when afailure occurs in the moving-image server 70, the moving-image servers71 and 72 operate instead, when a failure occurs in the moving-imageserver 71, the moving-image servers 72 and 70 operate instead, and whena failure occurs in the moving-image server 72, the moving-image servers70 and 71 operate instead.

While location information of an encoder and information on a directionof a camera used by the encoder are described by using XML in the firstand the second embodiments, location information of an encoder, andinformation on a direction of a camera used by the encoder can bedescribed by using other languages, and attached to MPEG data.

While the moving-image distributing system has been explained in thefirst and the second embodiments, a moving-image distributing programthat has similar functions can be acquired by realizing theconfiguration of the moving-image servers according to the moving-imagedistributing system by software.

FIG. 14 is a schematic of a computer system that executes a moving-imagedistributing program according to the first and the second embodiments.As shown in FIG. 14, a computer system 200 includes a main unit 201, adisplay 202 that displays information on a display screen 202 a inresponse to instructions from the main unit 201, a keyboard 203 forinputting various kinds of information to the computer system 200, amouse 204 that designates an arbitrary location on the display screen202 a of the display 202, a local-area-network (LAN) interface thatconnects to a LAN/wide area network (WAN) 206, and a modem 205 thatconnects to a public line 207. The LAN 206 connects another computersystem (PC) 211, a server 212, a printer 213, or the like, to thecomputer system 200.

FIG. 15 is a block diagram of the main unit 201 shown in FIG. 14. Asshown in FIG. 15, the main unit 201 includes a central processing unit(CPU) 221, a random access memory (RAM) 222, a read only memory (ROM)223, a hard disk drive (HDD) 224, a compact disk-read only memory(CD-ROM) drive 225, a flexible disk drive (FDD) 226, an input/output(I/O) interface 227, and a LAN interface 228.

The moving-image distributing program that is executed by the computersystem 200 is stored in a portable storage medium, such as a flexibledisk (FD) 208, a CD-ROM 209, a digital versatile disk (DVD), amagneto-optical (MO) disk, or an integrated-circuit (IC) card, and isread from the storage medium and is installed in the computer system200.

The installed moving-image distributing program is stored in the HDD224, and is executed by the CPU 221 using the RAM 222, the ROM 223 orthe like.

As described above, according to the present invention, an encoderspecifies location information where the encoder is located, adds thespecified location information to encoded moving-image data, andtransmits the data to the moving-image distributing apparatus. When afailure occurs in another moving-image distributing apparatus, themoving-image distributing apparatus acquires moving-image data of aplurality of encoders that are transmitting the moving-image data to theanother moving-image distributing apparatus, selects an encoder close tothe disaster location by priority based on location information of theencoders included in the acquired plural pieces of moving image and thedisaster location, and takes charge of the selected encoder in place ofthe another moving-image distributing apparatus that has a failure. Thisbrings about an effect that the priority of the encoder can bedynamically changed according to situations surrounding the encoder, andimportant moving-image data can be stably distributed to a clientterminal.

Although the invention has been described with respect to a specificembodiment for a complete and clear disclosure, the appended claims arenot to be thus limited but are to be construed as embodying allmodifications and alternative constructions that may occur to oneskilled in the art that fairly fall within the basic teaching herein setforth.

1. An apparatus for receiving moving-image data from a part of aplurality of encoders that encodes captured moving image, anddistributing the received moving-image data to a client terminal, theapparatus comprising: a moving-image-data acquiring unit that acquires,when a failure occurs in other moving-image distributing apparatus, aplurality of moving-image data transmitted from a part of the encodersto the other moving-image distributing apparatus; animaging-target-information acquiring unit that acquires locationinformation of an imaging target from a management server that managesthe location information of the imaging target; and an encoder selectingunit that selects the encoder to take charge in place of the othermoving-image distributing apparatus, based on encoder locationinformation included in the moving-image data and the locationinformation of the imaging target.
 2. The moving-image distributingapparatus according to claim 1, wherein the location information of theimaging target includes at least information on a disaster locationwhere a disaster has occurred, and the encoder selecting unit selectsthe encoder close to the disaster location by priority, based on theinformation on the disaster location and the encoder locationinformation.
 3. The moving-image distributing apparatus according toclaim 2, wherein the moving-image data further includes information on adirection of a camera that is used by the encoder, and the encoderselecting unit selects, when there is a plurality of encoders havingsame distance from the disaster location, the encoder in furtherconsideration of the information on the direction of the camera.
 4. Amoving-image distributing system comprising: a plurality of encodersthat encodes captured moving image to produce moving-image data; and aplurality of moving-image distributing apparatuses that distributes themoving-image data to a client terminal, wherein the encoder transmitsthe moving-image data to the moving-image distributing apparatuses,including an encoder-information specifying unit that specifies locationinformation of the encoder as encoder location information; and anencoder-information adding unit that adds the encoder locationinformation to the moving-image data to be transmitted to themoving-image distributing apparatuses, and each of the moving-imagedistributing apparatuses includes a moving-image-data acquiring unitthat acquires, when a failure occurs in other moving-image distributingapparatus, a plurality of moving-image data transmitted from a part ofthe encoders to the other moving-image distributing apparatus; animaging-target-information acquiring unit that acquires locationinformation of an imaging target from a management server that managesthe location information of the imaging target; and an encoder selectingunit that selects the encoder to take charge in place of the othermoving-image distributing apparatus, based on encoder locationinformation included in the moving-image data and the locationinformation of the imaging target.
 5. The moving-image distributingsystem according to claim 4, wherein the location information of theimaging target includes at least information on a disaster locationwhere a disaster has occurred, and the encoder selecting unit selectsthe encoder close to the disaster location by priority, based on theinformation on the disaster location and the encoder locationinformation.
 6. The moving-image distributing system according to claim5, wherein the encoder-information specifying unit further specifiesinformation on a direction of a camera that is used by the encoder, theencoder-information adding unit further adds the information on thedirection of the camera to the moving-image data to be transmitted tothe moving-image distributing apparatuses, and the encoder selectingunit selects, when there is a plurality of encoders having same distancefrom the disaster location, the encoder in further consideration of theinformation on the direction of the camera.
 7. The moving-imagedistributing system according to claim 4, wherein the encoder furtherincludes a moving-image-distribution-apparatus designating unit thatdesignates the moving-image distributing apparatuses to be transmissiondestinations of the moving-image data, based on an external instruction.8. A computer-readable recording medium that stores a computer programfor receiving moving-image data, which is an encoded moving image, froma part of a plurality of encoders that encodes captured moving image,and distributing the received moving-image data to a client terminal,wherein the computer program causes a computer to execute: amoving-image data acquisition procedure of acquiring, when a failureoccurs in a moving-image distributing apparatus that receives themoving-image data from a part of the encoders and distributes thereceived moving-image data to the client terminal, a plurality ofmoving-image data transmitted from the part of the encoders to themoving-image distributing apparatus; an imaging-target-informationacquisition procedure of acquiring location information of an imagingtarget from a management server that manages the location information ofthe imaging target; and an encoder selecting procedure of selecting theencoder to take charge in place of the moving-image distributingapparatus, based on encoder location information included in themoving-image data and the location information of the imaging target. 9.The computer-readable recording medium according to claim 8, wherein thelocation information of the imaging target includes at least informationon a disaster location where a disaster has occurred, and the encoderselecting procedure includes selecting the encoder close to the disasterlocation by priority, based on the information on the disaster locationand the encoder location information.
 10. The computer-readablerecording medium according to claim 9, wherein the moving-image datafurther includes information on a direction of a camera that is used bythe encoder, and the encoder selecting procedure includes selecting,when there is a plurality of encoders having same distance from thedisaster location, the encoder in further consideration of theinformation on the direction of the camera.